import sys
import requests
import datetime
import time

# 替换为您的请求URL
url = "https://open.feishu.cn/open-apis/bot/v2/hook/a913ef88-2c90-436a-b2b7-89bc82aefa34"

def is_weekday():
    # 获取当前日期的星期几（0表示周一，6表示周日）
    current_day = datetime.datetime.now().weekday()
    return current_day < 4 # 周一到周四返回True，周五到周日返回False

def parse_names(input_str):
    # 按***分隔出每组人名列表
    groups_of_names = input_str.split("***")
    names_lists = []
    for group in groups_of_names:
        # 去除空白项并按换行符分隔出每组人名
        names_list = group.strip().split(",") #\n
        print("分组人名" )
        print(names_list)
        # 去除空白项
        names_list = [name.strip() for name in names_list if name.strip()]
        names_lists.append(names_list)
    return names_lists

def send_post_request(names_list, current_group_index):
    # 获取当前组的人名列表
    current_group = names_list[current_group_index]

    # 在每个人名前面添加@字符
    formatted_group = ["@" + name for name in current_group]
    print("消息体",formatted_group)

    # 构建payload
    payload = {
        "msg_type": "text",
        "content": {
            "text": "\n".join(formatted_group) + "\n 今日幸苦值班"
        }
    }

    # 发送POST请求
    response = requests.post(url, json=payload)

    # 打印请求结果（可选）
    print(response.status_code, response.text)

if __name__ == "__main__":
    if len(sys.argv) < 2:
        print("请输入人名列表，用***分隔不同组")
        sys.exit(1)

    input_str = sys.argv[1]
    print(input_str)
    #input_str = "郭艺帆 王晓飞 张波 庞博 张小兵 *** 叶鹏 何龙飞 李威 徐超 贾瑞 郭艺帆 *** 喻建军 陈亮 朱先芳 王中英 昌先鹏 张博 郭艺帆"
    groups_of_names = parse_names(input_str)
    print(groups_of_names)
    while True:
       if is_weekday():
            current_hour = datetime.datetime.now().hour
            current_minute  = datetime.datetime.now().minute
            print('现在时间hour{0}--minute{1}'.format(current_hour,current_minute))
            # 在上午11点和下午6点发送请求
            if current_hour == 11 or current_hour == 18: #11
                print("开始发送消息")
                # 发送当前组的人名
                current_day = datetime.datetime.now().weekday()
                send_post_request(groups_of_names, current_day % 3)
            exit(0)
        # 等待1小时再次检查是否发送请求
       time.sleep(3600)
